package cn.core.dict.service.intf;

import cn.core.dict.eo.DictValue;
import cn.core.dict.qo.DictValueQO;
import cn.core.dict.vo.DictValueVO;
import cn.core.tool.util.Paging;
import cn.core.tool.util.Param;

import java.util.Collection;

/**
 * 数据字典值 服务接口
 */
public interface IDictValueService {

  /**
   * 数据字典值 >>> 保存
   */
  public DictValue save(DictValue eo) throws Exception;

  /**
   * 数据字典值 >>> 批量保存
   */
  public Collection<DictValue> saveBatch(Collection<DictValue> eos) throws Exception;

  /**
   * 数据字典值 >>> 修改
   */
  public DictValue update(DictValue eo) throws Exception;

  /**
   * 数据字典值 >>> 批量修改
   */
  public Collection<DictValue> updateBatch(Collection<DictValue> eos) throws Exception;

  /**
   * 数据字典值 >>> 删除
   */
  public void remove(DictValue eo) throws Exception;

  /**
   * 数据字典值 >>> 批量删除
   */
  public void removeBatch(Collection<DictValue> eos) throws Exception;

  /**
   * 数据字典值 >>> 数据量
   */
  public Long count(DictValueQO qo) throws Exception;

  /**
   * 数据字典值 >>> 主键查询
   */
  public DictValue pk(DictValueQO qo) throws Exception;

  /**
   * 数据字典值 >>> 查询
   */
  public Collection<DictValue> query(DictValueQO qo) throws Exception;

  /**
   * 数据字典值 >>> 分页
   */
  public Paging<DictValue> paging(Param<DictValueQO> param) throws Exception;

  /**
   * 数据字典值 >>> 业务数据量
   */
  public Long countVo(DictValueQO qo) throws Exception;

  /**
   * 数据字典值 >>> 业务主键查询
   */
  public DictValueVO pkVo(DictValueQO qo) throws Exception;

  /**
   * 数据字典值 >>> 业务查询
   */
  public Collection<DictValueVO> queryVo(DictValueQO qo) throws Exception;

  /**
   * 数据字典值 >>> 业务分页
   */
  public Paging<DictValueVO> pagingVo(Param<DictValueQO> param) throws Exception;

}
